Skip to main content

Cluster_Start_Sequence

Cluster Start Sequence

The cluster startup sequence begins with systemd if you built the cluster using kubeadm. Other tools may leverage a different method. Use:

systemctl status kubelet.service

to see the current state and configuration files used to run the kubelet binary.

Uses /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Inside of the config.yaml file you will find several settings for the binary, including the staticPodPath which indicates the directory where kubelet will read every yaml file and start every pod. If you put a yaml file in this directory, it is a way to troubleshoot the scheduler, as the pod is created with any requests to the scheduler.

Uses /var/lib/kubelet/config.yaml configuration file staticPodPath is set to /etc/kubernetes/manifests/ The four default yaml files will start the base pods necessary to run the cluster:

kubelet creates all pods from *.yaml in directory: kube-apiserver, etcd, kube-controller-manager, kube-scheduler. Once the watch loops and controllers from kube-controller-manager run using etcd data, the rest of the configured objects will be created.